<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;
use DB;

class ReplyController extends Controller
{
    //后台
    // 回复列表
	public function  getIndex(Request $request)
	{
		// 获取每条回复的信息
		$replys = DB::table('reply')
			// 获取发布回复者的信息
			->join('user','reply.u_id','=','user.id')
			// 帖子所回复的帖子的信息
			->join('card','reply.tid','=','card.id')
			->select('reply.*','user.username','card.title')
			// 添加查询条件     注意学习
			->where(function($query) use($request){
				// 选择查询条件的类型
	    		$content = $request->input('type');
	    		// 如果查询条件为状态时,需要修改输入的主键的值
	    		if($content == 'statu'){
	    			if($request->input('keyword') == '显示'){
	    				$k = 1;
	    			}elseif($request->input('keyword') == '隐藏'){
	    				$k = 0;
	    			}
	    		}else{
	    			$k = $request->input('keyword');
	    		}


	    		// 添加查询条件
	    		if(!empty($k)){
	    			$query->where($content,'like','%'.$k.'%');
	    		}
    		})->paginate($request->input('num',5));

    	return view('admin.reply.index',['replys'=>$replys,'request'=>$request]);
	}

	// 修改回复的状态 (可以修改状态为显示或者隐藏)
	public function  getEdit(Request $request)
	{
		// 获取要修改的回复的信息
		$id = $request->input('id');
		// dd($id);
    	//读取数据库
    	$reply = DB::table('reply')->where('rid',$id)->first();
    	// dd($reply);
    	//解析模板 将回复原来的信息显示到页面上
    	return  view('admin.reply.edit',['reply'=>$reply,'request'=>$request]);
	}


	// 执行修改回复信息
	public function  postUpdate(Request $request)
	{
		// 获取提交的修改后的回复的信息
		$data = $request->except('_token');
		// 执行修改
		$res = DB::table('reply')->where('rid',$request->input('rid'))->update($data);
    	if($res){
    		return redirect('/reply/index')->with('info','修改成功');
    	}else{
    		return back()->with('error','修改失败');
    	}
	}


	// 删除回复
	public function  getDelete(Request $request)
	{
		// 获取要删除的回复的ID
		$id = $request->input('id');
    	//执行删除
    	$res = DB::table('reply')->where('rid',$id)->delete();
    	if($res){
    		return back()->with('info','删除成功');
    	}else{
    		return  back()->with('error','删除失败');
    	}
	}


	// 批量删除  (待完成)
	public function  getDeletes(Request $request)
	{
		echo '321';
		// $arr = $request->input('a');
		// $res = DB::table('reply')
  //                   ->whereIn('id', $arr)
  //                   ->delete();

        // $id = $request->input('a');
  //       $id = Request::ajax();
		// $res = DB::table('reply')->where('id',$id)->delete();


        // $id = $request->input('a');
  //       $id = Request::ajax();
		// $res = DB::table('reply')->where('id',$id)->delete();
  //       if($res){
  //   		// return back()->with('info','删除成功');	
  //   		echo 1;
  //   	}else{
  //   		// return  back()->with('error','删除失败');
  //   		echo 0;
  //   	}            
	}


	// 前台	
	//添加问题的回复
	public function postInsert(Request $request)
	{
		// 获取添加的信息
		$data = $request->except(['_token']);
		// 判断是否添加图片 将图片信息写入数组
		if($request->hasFile('rprofile')){
    		$fileName = date('Ymd',time()).rand(100000,999999);
    		$suffix = $request->file('rprofile')->getClientOriginalExtension();//获取文件后缀名
    		$fileName = $fileName.'.'.$suffix;
    		$request->file('rprofile')->move('./Uploads/',$fileName);
    		$data['rprofile'] = '/Uploads/'.$fileName;
    	}
    	//执行添加回复
    	$res = DB::table('reply')->insert($data);
    	if($res){
    		return back()->with('info','删除成功');
    	}else{
    		return  back()->with('error','删除失败');
    	}

	}
	// 在回复下添加回复
	public function getAdd($data)
	{
		$res = DB::table('reply')->insert($data);
    	if($res){
    		echo 1;
    	}else{
    		echo 0;
    	}
	}

}
